| Предыдущая | Следующая | Оглавление | |
Flash Player 6.
classclassNameextendsotherClassName{} interfaceinterfaceNameextendsotherInterfaceName{}
Замечание: Для использования этого ключевого слова, вы должны указать ActionScript 2.0 и Flash Player 6 или более новые во вкладке Flash диалогового окна Publish Settings вашего файла FLA. Это ключевое слово поддерживается только в случае использования во внешних скриптовых файлах, но не в скриптах, написанных в панели Actions.
className Имя определяемого класса.
otherClassName Имя класса, на котором основывается класс className.
interfaceName Имя определяемого интерфейса.
otherInterfaceName Имя интерфейса, на котором основывается интерфейс interfaceName.
Ключевое слово; определяет класс, как подкласс другого класса; последний является надклассом. Подкласс наследует все методы, свойства, функции и т.д., которые определены в надклассе.
Для получения дополнительной информации, смотрите "Создание подклассов" в Использовании ActionScript во Flash. Интерфейсы могут также быть расширены с использованием ключевого слова extends. Интерфейс, который расширен другим интерфейсом включает все объявленные в исходном интерфейсе методы.
В следующем примере класс Car расширяет класс Vehicle, следовательно все его методы, свойства и функции наследуются. Если ваш скрипт задает значение для объекта Car, то могут быть использованы методы обоих классов Car и Vehicle.
Следующий пример показывает содержание файла, названного Vehicle.as, в котором определен класс Vehicle:
class Vehicle {
var numDoors:Number;
var color:String;
function Vehicle(param_numDoors:Number, param_color:String) {
this.numDoors = param_numDoors;
this.color = param_color;
}
function start():Void {
trace("[Vehicle] стартовала");
}
function stop():Void {
trace("[Vehicle] остановилась");
}
}
Следующий пример представляет второй файл AS, названный Car.as, находящийся в той же папке. Этот класс расширяет класс Vehicle, делая в нем три изменения. Во-первых, класс Car добавляет переменную fullSizeSpare для отслеживания того, имеет ли объект "машина" запасную шину. Во-вторых, он добавляет новый метод, специфичный для машин, activateCarAlarm(), который активирует противоугонную сигнализацию. В-третьих, он подменяет функцию stop() для добавления факта, что класс Car использует противоблокировочную тормозную систему для остановки.
class Car extends Vehicle {
var fullSizeSpare:Boolean;
function Car(param_numDoors:Number, param_color:String, param_fullSizeSpare:Boolean) {
this.numDoors = param_numDoors;
this.color = param_color;
this.fullSizeSpare = param_fullSizeSpare;
}
function activateCarAlarm():Void {
trace("[Car] активация противоугонной сигнализации");
}
function stop():Void {
trace("[Car] остановилась при помощи противоблокировочной тормозной системы");
}
}
Следующий пример задает значение объекту Car, вызывает метод, определенный классом Vehicle (start()), затем вызывает метод, подмененный классом Car (stop()), и в заключении вызывает метод класса Car (activateCarAlarm()):
var myNewCar:Car = new Car(2, "Red", true); myNewCar.start(); // в окне output: [Vehicle] стартовала myNewCar.stop(); // в окне output: [Car] остановилась при помощи противоблокировочной тормозной системы myNewCar.activateCarAlarm(); // в окне output: [Car] активация противоугонной сигнализации
class,implements,interface
| Посмотреть комментарии LiveDocs | Предыдущая | Следующая | Оглавление | |